<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // set 的属性和方法 : set 的数据里的值不能重复,是对象的键名
        // 可以是任意类型

        // 创建set
        // let set = new Set();
        // set.add(1);
        // set.add(2);
        // set.add(3);
        // console.log(set);

        // let set = new Set([1,2,3])
        // console.log(set);
        
        // let set = new Set([1,2,3]);
        // size 返回Set的长度
        // console.log(set.size); // 3
        // // add 添加某个值，返回 Set 结构本身。
        // set.add(4);
        // console.log(set); // |> Set(4){1,2,3,4} 
        // // delete 删除某个值，返回一个布尔值，表示删除是否成功。
        // set.delete(2);
        // console.log(set); // |> Set(3){1,3,4}
        // // has 返回一个布尔值，表示该值是否为Set的成员
        // set.has(3);
        // console.log(set);//true
        // set.has(5);
        // console.log(set);// false
        // // clear 清除所有成员，没有返回值。
        // // set.clear();
        // console.log(set);// |> Set(0){size : 0}
        // // keys()：返回键名的遍历器,由于 Set 结构没有键名，只有键值（或者说键名和键值是同一个值），所以keys方法和values方法的行为完全一致。
        // var res = set.keys() 
        // console.log(res);// |> SetIterotor{1,2,3}
        // // values()：返回键值的遍历器
        // var values = set.values();
        // console.log(values);//|> SetIterotor{1,2,3}
        // entries()：返回键值对的遍历器
        // let set = new Set([{name : 'zhangsan',age:'20'}])
        // var entries = set.entries();
        // console.log(entries);
        // forEach()：使用回调函数遍历每个成员
        


        // 数组去重
        // let arr = [1,1,2,3,4,5];
        // 伪数组set 数据不能重复就相当于去重了一遍
        // let set = new Set(arr);
        // console.log(set);
        // // 伪数组转数组 ...展开运算符
        // let newarr = [...set];
        // console.log(newarr);
        

        // var str = "abcddeefff";
        // // 字符串转数组 ... 展开运算符
        // let arr = [...str];
        // console.log(arr);
        // // 数组转伪数组,set方法去重
        // let set = new Set(arr);
        // console.log(set);
        // // 将伪数组转数组
        // let newarr = [...set];
        // console.log(newarr);
        // // join将数组转字符串
        // let newstr =   newarr.join('');
        // console.log(newstr);

        // let arr = [123,3123,3213]
        // arr.forEach(function(item,index){
        //     console.log(item,index);
        // })

        // let set = new Set([1,2,3])
        // set.forEach(function(item){
        //     console.log(item); // 
        // })
        


    </script>
</body>
</html>